﻿using System;
using System.Collections.Generic;
using System.Windows.Data;
using SoftSource.MVVMC;
using SoftSource.Timecard.Web.Data;
using SoftSource.Reactive;

namespace SoftSource.Timecard.ViewModelInterfaces
{
    public interface IUtilizationSummaryViewModelConsume : IDataViewModelConsume
    {
        #region Properties

        IObservableProperty<IEnumerable<EntrySummary>> Entries { get; }
        PagedCollectionView Users { get; }

        #endregion Properties

        #region Methods

        Func<DateTime, DateTime, IObservable<Unit>> LoadEntrySummaries { get; }

        #endregion Methods
    }
    public interface IUtilizationSummaryViewModelService : IDataViewModelService
    {
        #region Properties

        IEnumerable<EntrySummary> EntrySource { get; set; }
        IEnumerable<UserSummary> UserSource { get; set; }

        #endregion Properties

        #region Methods

        Func<DateTime, DateTime, IObservable<Unit>> LoadEntrySummaries { get; set; }

        #endregion Methods
    }
    public interface IUtilizationSummaryViewModel :
        IDataViewModel,
        IUtilizationSummaryViewModelConsume,
        IUtilizationSummaryViewModelService
    {
    }
}
